package com.mxf.miaosha.result;


import com.sun.org.apache.bcel.internal.classfile.Code;

public class CodeMsg {
    private int code;
    private String msg;

    // 通用错误码
    public static CodeMsg SUCCESS = new CodeMsg(0, "success");
    public static CodeMsg SERVER_ERROR = new CodeMsg(500100, "server error");
    public static CodeMsg BIND_ERROR = new CodeMsg(500101, "参数校验异常：%s");
    public static CodeMsg REQUEST_ILLEGAL = new CodeMsg(500102, "请求非法");
    public static CodeMsg ACCESS_LIMIT_REACHED= new CodeMsg(500104, "访问太频繁！");

    // 登录模块
    public static CodeMsg SESSION_ERROR = new CodeMsg(500210, "SESSION不存在或者失效");
    public static CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "密码不能为空");
    public static CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手机号不能为空");
    public static CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手机号错误");
    public static CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手机号不存在");
    public static CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密码错误");

    // 秒杀模块
    public static CodeMsg MIAO_SHA_OVER = new CodeMsg(500500, "商品已秒杀完毕");
    public static CodeMsg REPEAT_MIAOSHA = new CodeMsg(500501, "不能重复秒杀");
    public static CodeMsg MIAO_SHA_FAIL = new CodeMsg(500502, "秒杀失败");

    // 订单模块
    public static CodeMsg ORDER_NOT_EXIST = new CodeMsg(500400, "订单不存在");

    private CodeMsg(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public CodeMsg fillArgs(Object... args) {
        int code = this.code;
        String message = String.format(this.msg, args);
        return new CodeMsg(code, message);
    }

    @Override
    public String toString() {
        return "CodeMsg [code=" + code + ", msg=" + msg + "]";
    }
}
